有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java邮件搜索和排序可减少电子邮件数量

我目前有一个巨大的问题,我需要帮助。 目前我没有一次加载所有电子邮件。 我在这里找到了它的以下功能:

Message[] messages = emailFolder.getMessages(start, end);

我知道我可以使用Sorterm对电子邮件进行排序:

SortTerm sortTerm[] = new SortTerm[] { SortTerm.REVERSE, SortTerm.DATE };
Message messages = ((IMAPFolder) emailFolder).getSortedMessages(sortTerm);

但我会再次加载所有电子邮件。 我如何在一起使用: -搜索 -排序 -并使用getMessages(开始、结束)

一个示例代码将非常有用

非常感谢


共 (1) 个答案

  1. # 1 楼答案

    需要明确的是,在使用IMAP时,调用getMessages时不会“加载”任何消息。所发生的一切是,JavaMail客户端创建一个消息对象,该对象引用服务器上的消息,并对其进行设置,以便当您请求消息时,该消息对象将在服务器上获取该消息的数据

    您可以创建一个SearchTerm,它使用一对MessageNumberTerm将消息限制在一定范围内,就像您使用“开始,结束”一样。但你应该问问自己,你是否真的想先按邮件编号对邮箱中的所有邮件进行排序(实际上是按接收日期进行正向排序),然后再按发送日期进行反向排序。你到底想完成什么